Pythonでinline grammer replaceを正規表現で試すサンプル
code:py
import re
s = '''段落段落(この段落の前後には空行があります)
list1
list1
list2
list2
list1
文字装飾
太字
太字2
太字3
strike
literal
引用
リンク
scrapbox link
direct url
文章中の文字装飾
文字装飾mix
太字が複数回現れるパターンもちゃんとテストしないとね
引用の中で literal したり 太字したりリンク入れたり end'''
lines = s.split('\n')
for i,line in enumerate(lines):
newline = re.sub(RE_bold, ' **\\2** ', line)
if line==newline:
continue
print('{}: {}'.format(i, newline))
https://gyazo.com/cbb324f67e561da9abd378825d9f5dfe
re.compileで検索パターンつくる
re.subで指定パターンを指定文字列に置き換える
グループ化したn番目を \n でキャプチャできる
まあこれは30行目のマッチがおかしいけど(終端が太字側ではなくリンク側の ] に反応している)